Skip to content

Raise PHPStan to level 10 - #1

Merged
dnnsjsk merged 1 commit into
mainfrom
phpstan-level-10
May 19, 2026
Merged

Raise PHPStan to level 10#1
dnnsjsk merged 1 commit into
mainfrom
phpstan-level-10

Conversation

@dnnsjsk

@dnnsjsk dnnsjsk commented May 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Bumped phpstan.neon.dist from level 8 to level 10 and resolved all 356 resulting errors without @phpstan-ignore, baseline entries, inline @var overrides, silencing casts, or type widening.
  • src/ (85 errors): added @phpstan-type aliases (FeatureMatrixReport, FactSet, etc.), generic WorkerPool::map<TResult>, resource typing on worker sockets, and narrowing helpers for unserialized/JSON data in stores and codecs.
  • tests/ (271 errors): added phpstan/phpstan-phpunit so PHPUnit assertions narrow types; introduced typed reflection helpers (invokeArrayMethod, invokeStringMethod, invokeInstance<T>) and reshaped oracle data (ComplianceReport, Scenario accessors, OutputNormalizer::asString/asInt).

Test plan

  • composer cs (phpcs)
  • composer analyse (PHPStan level 10, 0 errors)
  • composer test (269 tests, 1591 assertions, all green)
  • CI confirms the same on ubuntu-latest / PHP 8.4

🤖 Generated with Claude Code

Tighten array shapes, generics, and narrowing helpers across src/ so the
strictest level passes without baselines, ignores, or @var overrides.
Adds phpstan/phpstan-phpunit so assertIsArray-style narrowing flows into
reflection-based test helpers (invokeArrayMethod, invokeStringMethod,
invokeInstance) used to type private-method probes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented May 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
greph Ignored Ignored May 19, 2026 5:57am

Request Review

@dnnsjsk
dnnsjsk merged commit 25e3531 into main May 19, 2026
5 checks passed
@dnnsjsk
dnnsjsk deleted the phpstan-level-10 branch May 19, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant